public class TowerOfHanoi {

    public static void move(char pos1, char pos2) {
        System.out.print(" " + pos1 + "->" + pos2 +" ");
    }

    /**
     *
     * @param n     盘子数量
     * @param pos1  起始位置
     * @param pos2  中转位置
     * @param pos3  目标位置
     */
    public static void hanoi(int n, char pos1, char pos2, char pos3) {
        if (n == 1) {
            move(pos1, pos3);
        } else {
            hanoi(n - 1, pos1, pos3, pos2);
            move(pos1, pos3);
            hanoi(n - 1, pos2, pos1, pos3);
        }
    }

    public static void main(String[] args) {
        hanoi(4,'A','B','C');
    }
}